<?php

namespace app\api\model;

use think\Cache;
use think\Env;
use think\Model;

class Search extends Model
{
    // 开启自动写入时间戳字段
    protected $autoWriteTimestamp = 'int';
    // 定义时间戳字段名
    protected $createTime = 'createtime';
    protected $updateTime = 'updatetime';

    // 设置当前模型对应的完整数据表名称
    protected $table = 'sx_stock';


    /**
     * 获取股票信息
     * @param $like 查询关键字
     * @param $limit 0无限制
     */
    public function stock($like,$limit=0)
    {
        // 连接 Redis 服务器
        $redis = Cache::store('redis')->handler();
        // 从 Redis 中获取数据
        $stockData = $redis->hGetAll('stock:hash:pricelist');

        foreach ($stockData as $key => $value) {
            // 切割成数组
            $str = explode('|', $value);
            $no = $str[0];
            $stockName = $str[1];
            // 编号匹配、文字匹配
            if (!$like || stripos($no, $like) !== false || stripos($stockName, $like) !== false) {
                // 修改数据格式
                $stockInfo = [
                    'no' => $no,
                    'all_no' => $key,
                    'name' => $stockName
                ];
                $result[] = $stockInfo;
            }
        }
        if( !$like ){
            $limit = 30;
        }
        if( $limit ){
            $result = array_slice($result, 0, $limit, true);
        }
        return $result;
    }
}
